Mobile devices have either landscape or portrait mode screens. Therefore, when the image or a single frame image from a video sequence is displayed in one of those specific screen orientations, a rotation operation may be needed in order to compensate the visual disorientation of the displayed image. Moreover, a size of an input image or video stream may be smaller or larger than the display screen size. In this case, scaling is typically performed in order to maximize the viewing space and to provide better user experience for image or video content.
Conventionally, rotation and/or scaling operations are carried out by separate scaling and rotation processes. This may be performed immediately after any image/video processing steps when the image or a single frame of video is ready to be scaled and/or rotated. The sequential processing practice has its disadvantages on system resources such as processor time and memory usage.